package com.ys.entity.base;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Table;
import com.alibaba.fastjson.annotation.JSONField;
import com.ys.annotation.YsField;
import com.ys.entity.base.BaseEntity;
/**
*/
@Table(name="TB_UserPaySlip", catalog="Id")
public class TbUserPaySlip extends BaseEntity<TbUserPaySlip> {

	@YsField(nameDataBase="Id", nameJava="id", typeDataBase="bigint")
	private Long id;
	@YsField(nameDataBase="PointMonth", nameJava="pointMonth", typeDataBase="char")
	private String pointMonth;
	@YsField(nameDataBase="MonthPerformanceId", nameJava="monthPerformanceId", typeDataBase="bigint")
	private Long monthPerformanceId;
	@YsField(nameDataBase="RoleLevelId", nameJava="roleLevelId", typeDataBase="bigint")
	private Long roleLevelId;
	@YsField(nameDataBase="UserId", nameJava="userId", typeDataBase="varchar")
	private String userId;
	@YsField(nameDataBase="OrgId", nameJava="orgId", typeDataBase="varchar")
	private String orgId;
	@YsField(nameDataBase="SocialSecurityId", nameJava="socialSecurityId", typeDataBase="bigint")
	private Long socialSecurityId;
	@YsField(nameDataBase="MedicalInsuranceId", nameJava="medicalInsuranceId", typeDataBase="bigint")
	private Long medicalInsuranceId;
	@YsField(nameDataBase="AccumulationFundId", nameJava="accumulationFundId", typeDataBase="bigint")
	private Long accumulationFundId;
	@YsField(nameDataBase="AttendanceId", nameJava="attendanceId", typeDataBase="bigint")
	private Long attendanceId;
	@YsField(nameDataBase="PerformanceSalary", nameJava="performanceSalary", typeDataBase="decimal")
	private BigDecimal performanceSalary;
	@YsField(nameDataBase="QuarterBonus", nameJava="quarterBonus", typeDataBase="decimal")
	private BigDecimal quarterBonus;
	@YsField(nameDataBase="YearEndBonus", nameJava="yearEndBonus", typeDataBase="decimal")
	private BigDecimal yearEndBonus;
	@YsField(nameDataBase="AttendancePerformance", nameJava="attendancePerformance", typeDataBase="decimal")
	private BigDecimal attendancePerformance;
	@YsField(nameDataBase="OtherPerformance", nameJava="otherPerformance", typeDataBase="decimal")
	private BigDecimal otherPerformance;
	@YsField(nameDataBase="OtherPerformanceRemark", nameJava="otherPerformanceRemark", typeDataBase="varchar")
	private String otherPerformanceRemark;
	@YsField(nameDataBase="WagesPay", nameJava="wagesPay", typeDataBase="decimal")
	private BigDecimal wagesPay;
	@YsField(nameDataBase="RetirementCompany", nameJava="retirementCompany", typeDataBase="decimal")
	private BigDecimal retirementCompany;
	@YsField(nameDataBase="RetirementPersonal", nameJava="retirementPersonal", typeDataBase="decimal")
	private BigDecimal retirementPersonal;
	@YsField(nameDataBase="LoseWorkCompany", nameJava="loseWorkCompany", typeDataBase="decimal")
	private BigDecimal loseWorkCompany;
	@YsField(nameDataBase="LoseWorkPersonal", nameJava="loseWorkPersonal", typeDataBase="decimal")
	private BigDecimal loseWorkPersonal;
	@YsField(nameDataBase="InjuryCompany", nameJava="injuryCompany", typeDataBase="decimal")
	private BigDecimal injuryCompany;
	@YsField(nameDataBase="HealthCompany", nameJava="healthCompany", typeDataBase="decimal")
	private BigDecimal healthCompany;
	@YsField(nameDataBase="HealthPersonal", nameJava="healthPersonal", typeDataBase="decimal")
	private BigDecimal healthPersonal;
	@YsField(nameDataBase="BirthCompany", nameJava="birthCompany", typeDataBase="decimal")
	private BigDecimal birthCompany;
	@YsField(nameDataBase="AccumulationFundCompany", nameJava="accumulationFundCompany", typeDataBase="decimal")
	private BigDecimal accumulationFundCompany;
	@YsField(nameDataBase="AccumulationFundPersonal", nameJava="accumulationFundPersonal", typeDataBase="decimal")
	private BigDecimal accumulationFundPersonal;
	@YsField(nameDataBase="OtherCost", nameJava="otherCost", typeDataBase="decimal")
	private BigDecimal otherCost;
	@YsField(nameDataBase="OtherCostRemark", nameJava="otherCostRemark", typeDataBase="varchar")
	private String otherCostRemark;
	@YsField(nameDataBase="NeedPaySlip", nameJava="needPaySlip", typeDataBase="decimal")
	private BigDecimal needPaySlip;
	@YsField(nameDataBase="PersonalTax", nameJava="personalTax", typeDataBase="decimal")
	private BigDecimal personalTax;
	@YsField(nameDataBase="RealityPaySlip", nameJava="realityPaySlip", typeDataBase="decimal")
	private BigDecimal realityPaySlip;
	@YsField(nameDataBase="TaxPaySlip", nameJava="taxPaySlip", typeDataBase="decimal")
	private BigDecimal taxPaySlip;
	@YsField(nameDataBase="SlipStatus", nameJava="slipStatus", typeDataBase="tinyint")
	private Integer slipStatus;
	@YsField(nameDataBase="Status", nameJava="status", typeDataBase="tinyint")
	private Integer status;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="CreateTime", nameJava="createTime", typeDataBase="datetime")
	private Date createTime;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="UpdateTime", nameJava="updateTime", typeDataBase="datetime")
	private Date updateTime;

	public Long getId() {
		return id;
	}
	public TbUserPaySlip setId(Long id) {
		this.id = id;
		return this;
	}
	public String getPointMonth() {
		return pointMonth;
	}
	public TbUserPaySlip setPointMonth(String pointMonth) {
		this.pointMonth = pointMonth;
		return this;
	}
	public Long getMonthPerformanceId() {
		return monthPerformanceId;
	}
	public TbUserPaySlip setMonthPerformanceId(Long monthPerformanceId) {
		this.monthPerformanceId = monthPerformanceId;
		return this;
	}
	public Long getRoleLevelId() {
		return roleLevelId;
	}
	public TbUserPaySlip setRoleLevelId(Long roleLevelId) {
		this.roleLevelId = roleLevelId;
		return this;
	}
	public String getUserId() {
		return userId;
	}
	public TbUserPaySlip setUserId(String userId) {
		this.userId = userId;
		return this;
	}
	public String getOrgId() {
		return orgId;
	}
	public TbUserPaySlip setOrgId(String orgId) {
		this.orgId = orgId;
		return this;
	}
	public Long getSocialSecurityId() {
		return socialSecurityId;
	}
	public TbUserPaySlip setSocialSecurityId(Long socialSecurityId) {
		this.socialSecurityId = socialSecurityId;
		return this;
	}
	public Long getMedicalInsuranceId() {
		return medicalInsuranceId;
	}
	public TbUserPaySlip setMedicalInsuranceId(Long medicalInsuranceId) {
		this.medicalInsuranceId = medicalInsuranceId;
		return this;
	}
	public Long getAccumulationFundId() {
		return accumulationFundId;
	}
	public TbUserPaySlip setAccumulationFundId(Long accumulationFundId) {
		this.accumulationFundId = accumulationFundId;
		return this;
	}
	public Long getAttendanceId() {
		return attendanceId;
	}
	public TbUserPaySlip setAttendanceId(Long attendanceId) {
		this.attendanceId = attendanceId;
		return this;
	}
	public BigDecimal getPerformanceSalary() {
		return performanceSalary;
	}
	public TbUserPaySlip setPerformanceSalary(BigDecimal performanceSalary) {
		this.performanceSalary = performanceSalary;
		return this;
	}
	public BigDecimal getQuarterBonus() {
		return quarterBonus;
	}
	public TbUserPaySlip setQuarterBonus(BigDecimal quarterBonus) {
		this.quarterBonus = quarterBonus;
		return this;
	}
	public BigDecimal getYearEndBonus() {
		return yearEndBonus;
	}
	public TbUserPaySlip setYearEndBonus(BigDecimal yearEndBonus) {
		this.yearEndBonus = yearEndBonus;
		return this;
	}
	public BigDecimal getAttendancePerformance() {
		return attendancePerformance;
	}
	public TbUserPaySlip setAttendancePerformance(BigDecimal attendancePerformance) {
		this.attendancePerformance = attendancePerformance;
		return this;
	}
	public BigDecimal getOtherPerformance() {
		return otherPerformance;
	}
	public TbUserPaySlip setOtherPerformance(BigDecimal otherPerformance) {
		this.otherPerformance = otherPerformance;
		return this;
	}
	public String getOtherPerformanceRemark() {
		return otherPerformanceRemark;
	}
	public TbUserPaySlip setOtherPerformanceRemark(String otherPerformanceRemark) {
		this.otherPerformanceRemark = otherPerformanceRemark;
		return this;
	}
	public BigDecimal getWagesPay() {
		return wagesPay;
	}
	public TbUserPaySlip setWagesPay(BigDecimal wagesPay) {
		this.wagesPay = wagesPay;
		return this;
	}
	public BigDecimal getRetirementCompany() {
		return retirementCompany;
	}
	public TbUserPaySlip setRetirementCompany(BigDecimal retirementCompany) {
		this.retirementCompany = retirementCompany;
		return this;
	}
	public BigDecimal getRetirementPersonal() {
		return retirementPersonal;
	}
	public TbUserPaySlip setRetirementPersonal(BigDecimal retirementPersonal) {
		this.retirementPersonal = retirementPersonal;
		return this;
	}
	public BigDecimal getLoseWorkCompany() {
		return loseWorkCompany;
	}
	public TbUserPaySlip setLoseWorkCompany(BigDecimal loseWorkCompany) {
		this.loseWorkCompany = loseWorkCompany;
		return this;
	}
	public BigDecimal getLoseWorkPersonal() {
		return loseWorkPersonal;
	}
	public TbUserPaySlip setLoseWorkPersonal(BigDecimal loseWorkPersonal) {
		this.loseWorkPersonal = loseWorkPersonal;
		return this;
	}
	public BigDecimal getInjuryCompany() {
		return injuryCompany;
	}
	public TbUserPaySlip setInjuryCompany(BigDecimal injuryCompany) {
		this.injuryCompany = injuryCompany;
		return this;
	}
	public BigDecimal getHealthCompany() {
		return healthCompany;
	}
	public TbUserPaySlip setHealthCompany(BigDecimal healthCompany) {
		this.healthCompany = healthCompany;
		return this;
	}
	public BigDecimal getHealthPersonal() {
		return healthPersonal;
	}
	public TbUserPaySlip setHealthPersonal(BigDecimal healthPersonal) {
		this.healthPersonal = healthPersonal;
		return this;
	}
	public BigDecimal getBirthCompany() {
		return birthCompany;
	}
	public TbUserPaySlip setBirthCompany(BigDecimal birthCompany) {
		this.birthCompany = birthCompany;
		return this;
	}
	public BigDecimal getAccumulationFundCompany() {
		return accumulationFundCompany;
	}
	public TbUserPaySlip setAccumulationFundCompany(BigDecimal accumulationFundCompany) {
		this.accumulationFundCompany = accumulationFundCompany;
		return this;
	}
	public BigDecimal getAccumulationFundPersonal() {
		return accumulationFundPersonal;
	}
	public TbUserPaySlip setAccumulationFundPersonal(BigDecimal accumulationFundPersonal) {
		this.accumulationFundPersonal = accumulationFundPersonal;
		return this;
	}
	public BigDecimal getOtherCost() {
		return otherCost;
	}
	public TbUserPaySlip setOtherCost(BigDecimal otherCost) {
		this.otherCost = otherCost;
		return this;
	}
	public String getOtherCostRemark() {
		return otherCostRemark;
	}
	public TbUserPaySlip setOtherCostRemark(String otherCostRemark) {
		this.otherCostRemark = otherCostRemark;
		return this;
	}
	public BigDecimal getNeedPaySlip() {
		return needPaySlip;
	}
	public TbUserPaySlip setNeedPaySlip(BigDecimal needPaySlip) {
		this.needPaySlip = needPaySlip;
		return this;
	}
	public BigDecimal getPersonalTax() {
		return personalTax;
	}
	public TbUserPaySlip setPersonalTax(BigDecimal personalTax) {
		this.personalTax = personalTax;
		return this;
	}
	public BigDecimal getRealityPaySlip() {
		return realityPaySlip;
	}
	public TbUserPaySlip setRealityPaySlip(BigDecimal realityPaySlip) {
		this.realityPaySlip = realityPaySlip;
		return this;
	}
	public BigDecimal getTaxPaySlip() {
		return taxPaySlip;
	}
	public TbUserPaySlip setTaxPaySlip(BigDecimal taxPaySlip) {
		this.taxPaySlip = taxPaySlip;
		return this;
	}
	public Integer getSlipStatus() {
		return slipStatus;
	}
	public TbUserPaySlip setSlipStatus(Integer slipStatus) {
		this.slipStatus = slipStatus;
		return this;
	}
	public Integer getStatus() {
		return status;
	}
	public TbUserPaySlip setStatus(Integer status) {
		this.status = status;
		return this;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public TbUserPaySlip setCreateTime(Date createTime) {
		this.createTime = createTime;
		return this;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public TbUserPaySlip setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
		return this;
	}

	public static TbUserPaySlip tbUserPaySlip(
		String pointMonth,
		Long monthPerformanceId,
		Long roleLevelId,
		String userId,
		String orgId,
		Long socialSecurityId,
		Long medicalInsuranceId,
		Long accumulationFundId,
		Long attendanceId,
		BigDecimal performanceSalary,
		BigDecimal quarterBonus,
		BigDecimal yearEndBonus,
		BigDecimal attendancePerformance,
		BigDecimal otherPerformance,
		String otherPerformanceRemark,
		BigDecimal wagesPay,
		BigDecimal retirementCompany,
		BigDecimal retirementPersonal,
		BigDecimal loseWorkCompany,
		BigDecimal loseWorkPersonal,
		BigDecimal injuryCompany,
		BigDecimal healthCompany,
		BigDecimal healthPersonal,
		BigDecimal birthCompany,
		BigDecimal accumulationFundCompany,
		BigDecimal accumulationFundPersonal,
		BigDecimal otherCost,
		String otherCostRemark,
		BigDecimal needPaySlip,
		BigDecimal personalTax,
		BigDecimal realityPaySlip,
		BigDecimal taxPaySlip,
		Integer slipStatus,
		Integer status
			) {
		TbUserPaySlip entity = new TbUserPaySlip();
		entity.setPointMonth(pointMonth);
		entity.setMonthPerformanceId(monthPerformanceId);
		entity.setRoleLevelId(roleLevelId);
		entity.setUserId(userId);
		entity.setOrgId(orgId);
		entity.setSocialSecurityId(socialSecurityId);
		entity.setMedicalInsuranceId(medicalInsuranceId);
		entity.setAccumulationFundId(accumulationFundId);
		entity.setAttendanceId(attendanceId);
		entity.setPerformanceSalary(performanceSalary);
		entity.setQuarterBonus(quarterBonus);
		entity.setYearEndBonus(yearEndBonus);
		entity.setAttendancePerformance(attendancePerformance);
		entity.setOtherPerformance(otherPerformance);
		entity.setOtherPerformanceRemark(otherPerformanceRemark);
		entity.setWagesPay(wagesPay);
		entity.setRetirementCompany(retirementCompany);
		entity.setRetirementPersonal(retirementPersonal);
		entity.setLoseWorkCompany(loseWorkCompany);
		entity.setLoseWorkPersonal(loseWorkPersonal);
		entity.setInjuryCompany(injuryCompany);
		entity.setHealthCompany(healthCompany);
		entity.setHealthPersonal(healthPersonal);
		entity.setBirthCompany(birthCompany);
		entity.setAccumulationFundCompany(accumulationFundCompany);
		entity.setAccumulationFundPersonal(accumulationFundPersonal);
		entity.setOtherCost(otherCost);
		entity.setOtherCostRemark(otherCostRemark);
		entity.setNeedPaySlip(needPaySlip);
		entity.setPersonalTax(personalTax);
		entity.setRealityPaySlip(realityPaySlip);
		entity.setTaxPaySlip(taxPaySlip);
		entity.setSlipStatus(slipStatus);
		entity.setStatus(status);
		return entity;
	}
}